package com.yt.lxh.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yt.lxh.vo.product.SimpleSkuVO;
import com.yt.lxh.vo.product.SkuVO;
import com.yt.lxh.model.product.SkuInfo;
import com.yt.lxh.dto.product.SaveSkuDTO;
import com.yt.lxh.dto.product.UpdateSkuDTO;

import java.util.Collection;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author yzk789
 * @since 2023-10-18
 */
public interface SkuService extends IService<SkuInfo> {

    List<SimpleSkuVO> simpleSkuListByCategoryId(String categoryId);

    void saveSku(SaveSkuDTO saveSkuDTO);

    SkuVO getSkuById(String id);

    List<SkuInfo> getSkuByIds(Collection<String> ids);

    void updateSku(UpdateSkuDTO updateSkuDTO);

    void updateSkuOnSaleById(String id, boolean onSale);

    void removeSkuById(String id);

    void notifySaleUpdate(String skuId, String routingKey);

    //根据关键字匹配sku列表
    List<SkuInfo> findSkuInfoByKeyword(String keyword);
}
